from pyecharts.charts import Bar
from pyecharts.globals import ThemeType
from pyecharts.options import InitOpts, LabelOpts, TitleOpts

from file_reader_define import FileReader, JSONFileReader, CSVFileReader
from data_define import OrderInfo

csv_file_reader = CSVFileReader('E:/PythonBasicKnowledge/10 面向对象/数据分析案例/2011年1月销售数据.txt')
json_file_reader = JSONFileReader('E:/PythonBasicKnowledge/10 面向对象/数据分析案例/2011年2月销售数据JSON.txt')
order_info1 = csv_file_reader.read()
order_info2 = json_file_reader.read()
total_order_info = order_info1 + order_info2

data_dict = dict()
for order_info in total_order_info:
    if order_info.date in data_dict.keys():
        data_dict[order_info.date] += order_info.money
    else:
        data_dict[order_info.date] = order_info.money

# 可视化柱状图
bar = Bar(init_opts=InitOpts(width='1200px', theme=ThemeType.LIGHT))
bar.add_xaxis(list(data_dict.keys()))
bar.add_yaxis('销售额', list(data_dict.values()), label_opts=LabelOpts(is_show=False))
bar.set_global_opts(title_opts=TitleOpts(title='每日销售额柱状图', pos_left='center', pos_bottom='1%'))
bar.render('每日销售额柱状图.html')
